A Study on Exception Detection and Handling Using Aspect-Oriented Programming
نویسندگان
چکیده
Aspect-Oriented Programming (AOP) is intended to ease situations that involve many kinds of code tangling. This paper reports on a study to investigate AOP’s ability to ease tangling related to exception detection and handling. We took an existing framework written in Java , the JWAM framework, and partially reengineered its exception detection and handling aspects using AspectJ , an aspectoriented programming extension to Java. We found that AspectJ supports implementations that drastically reduce the portion of the code related to exception detection and handling. In the best case scenario, we were able to reduce that code by a factor of 4. We also found that AspectJ provides better support for different configurations of exceptional behaviors, more tolerance for changes in the specifications of exceptional behaviors, better support for incremental development, better reuse, automatic enforcement of contracts in applications that use the framework, and cleaner program texts. We also found some weaknesses of AspectJ that should be addressed in the future.
منابع مشابه
A Quantitative Study on the Aspectization of Exception Handling
It is usually assumed that the implementation of exception handling can be better modularized by the use of aspect-oriented programming (AOP). However, the trade-offs involved in using AOP with this goal are not yet wellunderstood. To the best of our knowledge, no work in the literature has attempted to assess whether AOP really promotes an enhancement in well-understood quality attributes othe...
متن کاملAspect Oriented Software Fault Tolerance
Software fault tolerance demands additional tasks like error detection and recovery through executable assertions, exception handling, diversity and redundancy based mechanisms. These mechanisms do not come for free, rather they introduce additional complexity to the core functionality. This paper presents light weight error detection and recovery mechanisms based on the rate of change in signa...
متن کاملImplementing Coordinated Exception Handling for Distributed Object-Oriented Systems with AspectJ
Exception handling is a very popular technique for incorporating fault tolerance into software systems. However, its use for structuring concurrent, distributed systems is hindered by the fact that the exception handling models of many mainstream object-oriented programming languages are sequential. In this paper we present an aspect-based framework for incorporating concurrent exception handli...
متن کاملRefactoring Idiomatic Exception Handling in C++: Throwing and Catching Exceptions with Aspects
Aspect-oriented programming can be used to modularize crosscutting concerns to improve the maintainability of large systems. Exceptions cross-cut legacy applications and are often implemented in idioms which cannot be globally enforced. We describe an aspect-oriented approach for throwing exceptions in place of the “return code idiom”, and discuss using aspects to handle those exceptions in a m...
متن کاملAspect Oriented Distributed System using AspectJ
This paper discusses the impact of Aspect oriented programming (AOP) on Java-based communication middleware (Java RMI) system and need to introduce aspects in Java RMI systems. There are certain properties like tracing, exception handling, distribution and profiling in Java RMI system which we cannot encapsulate properly using object oriented programming and lead to the problem of code tangling...
متن کامل